Sequencing Asynchronous Pipeline

نویسنده

  • Jeanne Ferrante
چکیده

Asynchronous pipelining is a form of parallelism in which processors execute diierent loop tasks, as opposed to diierent loop iterations. An asynchronous pipeline schedule for a loop is a generalization of a noniterative DAG schedule, and consists of a processor assignment|an assignment of loop tasks to processors; plus a task sequence for each processor|an order on instances of tasks assigned to a processor. This variant of pipeline parallelism is particularly relevant in distributed memory systems (since pipeline control may be distributed across processors), but may also be used in shared memory systems. Results for asynchronous pipelining may also provide insights into other forms of pipelining, such as software pipelining. We show that the problem of nding an optimal asynchronous pipeline schedule is NP-hard under three diierent deenitions of optimality, even when the loop body is self-cyclic, i.e., has no multi-task dependence cycles. A number of pipeline scheduling subproblems are themselves NP-hard, but given a processor assignment, the problem of nding an asymptotically optimal task sequence for a self-cyclic loop can be solved in polynomial time. Self-cyclic loops represent a signiicant subset of loops which may contain cross-iteration dependences, I/O, and simple reductions. Assuming that a processor assignment for a loop is speciied, we design a heuristic task sequencing algorithm which can be customized to trade oo algorithm execution time against the quality of the resulting task sequence. The algorithm is asymptotically optimal for self-cyclic loops, and can be used as a component of a complete pipeline scheduling algorithm which generates schedules for self-cyclic loops that are guaranteed to be within 18% of optimal. For loops which contain multi-task cycles, the algorithm generates task sequences which average within 3.5{6.8% of optimal for a set of 10,800 random loops. The primary determinant of the execution time of the algorithm is the time required to determine the maximum cycle ratio of a loop, which in practice takes O(ve) time for a loop with v tasks and e dependence edges.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Quasi Delay Insensitive Reduced Stack Pre-Charged Half Buffer based High Speed Adder using pipeline templates for Asynchronous Circuits

Problem statement: Recent research in asynchronous design technique is making asynchronous circuits an increasingly practical alternative. These challenges include the increasing pressure for low power, the growing challenges of predicting the increasing impact of wire load and delay and the performance penalty associated with supporting communication between different clock domains Asynchronou...

متن کامل

ARAS: Asynchronous RISC Architecture Simulator1

In this paper, an asynchronous pipeline instruction simulator, ARAS is presented. With this sim-ulator, one can design selected instruction pipelines and check their performance. Performance measurements of the pipeline connguration are obtained by simulating the execution of benchmark programs on the machine architectures developed. Depending on the simulation results obtained by using ARAS, t...

متن کامل

Adaptive Pipeline Depth for Asynchronous Systems Using Collapsible Latch Controllers

A new class of latch controllers for asynchronous pipelines is presented. In addition to the standard operating mode, they can be configured in a collapsed mode, where the pipeline latches they control are kept transparent effectively joining the neighbouring pipeline stages into one. The depth of the resulting pipeline is dynamically adaptable, which can be used for power management of asynchr...

متن کامل

Analyzing Asynchronous Pipeline

Asynchronous pipelining is a form of parallelism which may be used in distributed memory systems. An asynchronous pipeline schedule is a generalization of a noniterative DAG schedule. Accurate estimation of the execution time of a pipeline schedule is needed to determine if pipelining is appropriate for a loop, and to compare alternative schedules. Pipeline execution of n iterations of a loop r...

متن کامل

Programmable Asynchronous Pipeline Arrays

We discuss high-performance programmable asynchronous pipeline arrays (PAPAs). These pipeline arrays are coarse-grain field programmable gate arrays (FPGAs) that realize high data throughput with fine-grain pipelined asynchronous circuits. We show how the PAPA architecture maintains most of the speed and energy benefits of a custom asynchronous design, while also providing post-fabrication logi...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1996